vulkan: Don't attempt to free 0 command buffers
authorTestingPlant <49836-TestingPlant@users.noreply.gitlab.gnome.org>
Sun, 8 May 2022 04:32:26 +0000 (04:32 +0000)
committerTestingPlant <49836-TestingPlant@users.noreply.gitlab.gnome.org>
Sun, 8 May 2022 05:37:14 +0000 (05:37 +0000)
vkFreeCommandBuffers can't be called with commandBufferCount set to 0.

gsk/vulkan/gskvulkancommandpool.c

index 03d4bdc6ed5cfa540631f3ab797bfc0b70b80a79..0afb59c24de1b346ae1b5ed064d62f898e1fc00f 100644 (file)
@@ -37,10 +37,11 @@ gsk_vulkan_command_pool_new (GdkVulkanContext *context)
 static void
 gsk_vulkan_command_pool_free_buffers (GskVulkanCommandPool *self)
 {
-  vkFreeCommandBuffers (gdk_vulkan_context_get_device (self->vulkan),
-                        self->vk_command_pool,
-                        self->buffers->len,
-                        (VkCommandBuffer *) self->buffers->pdata);
+  if (self->buffers->len != 0)
+    vkFreeCommandBuffers (gdk_vulkan_context_get_device (self->vulkan),
+                          self->vk_command_pool,
+                          self->buffers->len,
+                          (VkCommandBuffer *) self->buffers->pdata);
 
   g_ptr_array_set_size (self->buffers, 0);
 }